package com.zdsoft.finance.meet.service;

import java.util.List;
import java.util.Map;

import com.zdsoft.finance.base.service.BaseService;
import com.zdsoft.finance.common.exception.BusinessException;
import com.zdsoft.finance.meet.entity.MeetingProject;
import com.zdsoft.framework.core.common.page.Page;
import com.zdsoft.framework.core.common.page.Pageable;

/**
 * 上会项目service
 * 
 * @author liuwei
 *
 */
public interface MeetingProjectService extends BaseService<MeetingProject> {

	/**
	 * 根据ids查询上会项目集合
	 * 
	 * @param ids
	 * @return 上会项目集合
	 */
	public List<MeetingProject> findByIds(List<String> ids);

	/**
	 * 根据会议id查询上会项目(分页)
	 * 
	 * @param pageable
	 *            分页信息
	 * @param meetingId
	 *            会议id
	 * @return 上会项目信息(分页)
	 */
	public Page<MeetingProject> findByMeetingId(Pageable pageable, String meetingId);

	/**
	 * 通过查询条件查询上会项目
	 * 
	 * @param pageable
	 *            分页信息
	 * @param conditions
	 *            查询条件
	 * @return 上会项目信息(分页)
	 */
	public Page<MeetingProject> findByConditions(Pageable pageable, Map<String, Object> conditions);

	/**
	 * 修改上会项目状态
	 * 
	 * @param meetingProject
	 *            上会项目
	 * @return 上会项目
	 * @throws BusinessException
	 * @throws Exception
	 */
	public MeetingProject changeProStatus(MeetingProject meetingProject) throws Exception;

	/**
	 * 根据流程业务id查找上会项目
	 * 
	 * @param businessId
	 *            流程业务id
	 * @return 上会项目
	 */
	public MeetingProject findByBusinessId(String businessId);

}
